﻿#region Usings

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;

#endregion

namespace xConnected.Core.Model
{
    [Serializable]
    [DataContract]
    public class CompanyProfile : PersistentEntity
    {
        public CompanyProfile()
        {
            Positions = new List<Position>();
            Categories = new List<Category>();
            Technologies = new List<Technology>();
        }

        [DataMember]
        public bool IsDefault { get; set; }

        [DataMember]
        public bool IsAuthenticated { get; set; }

        [DataMember]
        public string Title { get; set; }

        [DataMember]
        public string TagLine { get; set; }

        [DataMember]
        public string Description { get; set; }

        [DataMember]
        public string Website { get; set; }

        [DataMember]
        public string Location { get; set; }

        [DataMember]
        public double XLocation { get; set; }

        [DataMember]
        public double YLocation { get; set; }

        [DataMember]
        public string Email { get; set; }

        [DataMember]
        public string PhoneNumber { get; set; }

        [DataMember]
        public string Photo { get; set; }

        [DataMember]
        public int? UserId { get; set; }

        [DataMember]
        public virtual User User { get; set; }

        [DataMember]
        public int? IndustryId { get; set; }

        [DataMember]
        public virtual Industry Industry { get; set; }

        [DataMember]
        public virtual int CountryId { get; set; }

        [DataMember]
        public virtual Country Country { get; set; }

        [DataMember]
        public virtual IList<Position> Positions { get; set; }

        [DataMember]
        public virtual IList<Category> Categories { get; set; }

        [DataMember]
        public virtual IList<Technology> Technologies { get; set; }

        [DataMember]
        public virtual IList<MessageCompanyUser> MessageUsers { get; set; }

        [DataMember]
        public virtual IList<CompanyList> CompanyLists { get; set; }
    }
}